package com.mofang.ticketing.user.mapping.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户
 * @TableName sys_user
 */
@TableName(value ="sys_user")
@Data
public class SysUserDO implements Serializable {
    /**
     * 主键ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 所属组织 1=平台、2=商户、3=项目成员
     */
    @TableField(value = "belong")
    private Integer belong;

    /**
     * 账号类型 1=平台管理员、2=商户管理员、3=商户成员、4=项目成员
     */
    @TableField(value = "account_type")
    private Integer accountType;

    /**
     * 用户名
     */
    @TableField(value = "username")
    private String username;

    /**
     * 账号/手机号
     */
    @TableField(value = "account")
    private String account;

    /**
     * 密码
     */
    @TableField(value = "password")
    private String password;

    /**
     * 密码强度
     */
    @TableField(value = "password_strong")
    private String passwordStrong;

    /**
     * 头像
     */
    @TableField(value = "head_img")
    private String headImg;

    /**
     * 启用状态 1=启用 0=禁用
     */
    @TableField(value = "is_enable")
    private Integer isEnable;

    /**
     * 是否是管理员 1=管理员、0=非管理员
     */
    @TableField(value = "is_admin")
    private Integer isAdmin;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUserId;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 乐观锁
     */
    @Version
    private Integer revision;

}